#ifndef __UDF_DEF_H
#define __UDF_DEF_H

#include <stdint.h>
#include "sdk_ifs_udk_cfg.h"
#include "udf_cfg.h"

#define UDF01_SRC_ADDR  (UDF_SRC_ADDR)
#define UDF02_SRC_ADDR  (UDF01_SRC_ADDR+UDF01_BIN_SIZE)
#define UDF03_SRC_ADDR  (UDF02_SRC_ADDR+UDF02_BIN_SIZE)
#define UDF04_SRC_ADDR  (UDF03_SRC_ADDR+UDF03_BIN_SIZE)
#define UDF05_SRC_ADDR  (UDF04_SRC_ADDR+UDF04_BIN_SIZE)
#define UDF06_SRC_ADDR  (UDF05_SRC_ADDR+UDF05_BIN_SIZE)
#define UDF07_SRC_ADDR  (UDF06_SRC_ADDR+UDF06_BIN_SIZE)
#define UDF08_SRC_ADDR  (UDF07_SRC_ADDR+UDF07_BIN_SIZE)
#define UDF09_SRC_ADDR  (UDF08_SRC_ADDR+UDF08_BIN_SIZE)
#define UDF10_SRC_ADDR  (UDF09_SRC_ADDR+UDF09_BIN_SIZE)
#define UDF11_SRC_ADDR  (UDF10_SRC_ADDR+UDF10_BIN_SIZE)
#define UDF12_SRC_ADDR  (UDF11_SRC_ADDR+UDF11_BIN_SIZE)
#define UDF13_SRC_ADDR  (UDF12_SRC_ADDR+UDF12_BIN_SIZE)
#define UDF14_SRC_ADDR  (UDF13_SRC_ADDR+UDF13_BIN_SIZE)
#define UDF15_SRC_ADDR  (UDF14_SRC_ADDR+UDF14_BIN_SIZE)
#define UDF16_SRC_ADDR  (UDF15_SRC_ADDR+UDF15_BIN_SIZE)
#define UDF_END_ADDR    (UDF16_SRC_ADDR + UDF16_BIN_SIZE)

#if ( ENABLE_UDF01 > 0 )
#include "udf01.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf01_def_auto.h"
#endif
#else
#define UDF01_LEN      (0x00000000)
#define UDF01_CRC      (0x00000000)
#define UDF01_OFFSET   (0x00000000)
#define UDF01_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF02 > 0 )
#include "udf02.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf02_def_auto.h"
#endif
#else
#define UDF02_LEN      (0x00000000)
#define UDF02_CRC      (0x00000000)
#define UDF02_OFFSET   (0x00000000)
#define UDF02_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF03 > 0 )
#include "udf03.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf03_def_auto.h"
#endif
#else
#define UDF03_LEN      (0x00000000)
#define UDF03_CRC      (0x00000000)
#define UDF03_OFFSET   (0x00000000)
#define UDF03_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF04 > 0 )
#include "udf04.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf04_def_auto.h"
#endif
#else
#define UDF04_LEN      (0x00000000)
#define UDF04_CRC      (0x00000000)
#define UDF04_OFFSET   (0x00000000)
#define UDF04_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF05 > 0 )
#include "udf05.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf05_def_auto.h"
#endif
#else
#define UDF05_LEN      (0x00000000)
#define UDF05_CRC      (0x00000000)
#define UDF05_OFFSET   (0x00000000)
#define UDF05_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF06 > 0 )
#include "udf06.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf06_def_auto.h"
#endif
#else
#define UDF06_LEN      (0x00000000)
#define UDF06_CRC      (0x00000000)
#define UDF06_OFFSET   (0x00000000)
#define UDF06_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF07 > 0 )
#include "udf07.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf07_def_auto.h"
#endif
#else
#define UDF07_LEN      (0x00000000)
#define UDF07_CRC      (0x00000000)
#define UDF07_OFFSET   (0x00000000)
#define UDF07_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF08 > 0 )
#include "udf08.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf08_def_auto.h"
#endif
#else
#define UDF08_LEN      (0x00000000)
#define UDF08_CRC      (0x00000000)
#define UDF08_OFFSET   (0x00000000)
#define UDF08_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF09 > 0 )
#include "udf09.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf09_def_auto.h"
#endif
#else
#define UDF09_LEN      (0x00000000)
#define UDF09_CRC      (0x00000000)
#define UDF09_OFFSET   (0x00000000)
#define UDF09_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF10 > 0 )
#include "udf10.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf10_def_auto.h"
#endif
#else
#define UDF10_LEN      (0x00000000)
#define UDF10_CRC      (0x00000000)
#define UDF10_OFFSET   (0x00000000)
#define UDF10_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF11 > 0 )
#include "udf11.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf11_def_auto.h"
#endif
#else
#define UDF11_LEN      (0x00000000)
#define UDF11_CRC      (0x00000000)
#define UDF11_OFFSET   (0x00000000)
#define UDF11_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF12 > 0 )
#include "udf12.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf12_def_auto.h"
#endif
#else
#define UDF12_LEN      (0x00000000)
#define UDF12_CRC      (0x00000000)
#define UDF12_OFFSET   (0x00000000)
#define UDF12_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF13 > 0 )
#include "udf13.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf13_def_auto.h"
#endif
#else
#define UDF13_LEN      (0x00000000)
#define UDF13_CRC      (0x00000000)
#define UDF13_OFFSET   (0x00000000)
#define UDF13_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF14 > 0 )
#include "udf14.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf14_def_auto.h"
#endif
#else
#define UDF14_LEN      (0x00000000)
#define UDF14_CRC      (0x00000000)
#define UDF14_OFFSET   (0x00000000)
#define UDF14_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF15 > 0 )
#include "udf15.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf15_def_auto.h"
#endif
#else
#define UDF15_LEN      (0x00000000)
#define UDF15_CRC      (0x00000000)
#define UDF15_OFFSET   (0x00000000)
#define UDF15_BIN_SIZE (0x00000000)
#endif
#if ( ENABLE_UDF16 > 0 )
#include "udf16.h"
#if !defined(UDF_SUB_PROJECT)
#include "udf16_def_auto.h"
#endif
#else
#define UDF16_LEN      (0x00000000)
#define UDF16_CRC      (0x00000000)
#define UDF16_OFFSET   (0x00000000)
#define UDF16_BIN_SIZE (0x00000000)
#endif

#define UDP_UDF_LEN(x) UDF##x##_LEN
#define UDP_UDF_CRC(x) UDF##x##_CRC

#endif

